﻿namespace NumericalData.Systems
open System
open System.Collections
open System.Collections.Generic
open System.Diagnostics
open System.Threading
open NumericalData
open NumericalData.Exceptions   
    ///// {=========================SLAE=========================}
    type SLAE = 
        class
            ///-----------------------------Fields-----------------------------
            val m_InitialMatrix:SquareMatrix
            val m_InitialBVector:Vector

            ///-----------------------------Constructors-----------------------------
            new (matr:SquareMatrix, b:Vector) = 
                if matr.Dimention <> b.Length then 
                    {
                        m_InitialMatrix = null
                        m_InitialBVector = null
                    }
                else
                    {
                        m_InitialMatrix = new SquareMatrix(matr)
                        m_InitialBVector = new Vector(b)
                    }

            ///-----------------------------Properties-----------------------------

            member x.InitialMatrix 
                with get() = x.m_InitialMatrix

            member x.InitialVector
                with get() = x.m_InitialBVector


            ///-----------------------------Operators-----------------------------

            ///-----------------------------Methods-----------------------------

        end



